package com.cdtye.itps.cms.dao.defect.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.cdtye.common.mybatiscore.base.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
@ApiModel("缺陷信息查询Vo")
public class JcwProblemDefectInfoVo extends BaseVo {
    @ApiModelProperty(value = "铁路类型")
    private  String railType;

    @ApiModelProperty(value = "线路Id")
    private String lineId;


    @ApiModelProperty(value = "区站Id")
    private String lineSiteId;

    @ApiModelProperty(value = "区站名")
    private String lineSiteName;

    @ApiModelProperty(value = "支柱号Id")
    private String pillarId;

    @ApiModelProperty(value = "支柱号所属工区(这里记录)")
    private String pillarDeptId;

    @ApiModelProperty(value = "发现人，存人名")
    private String findBy;

    @ApiModelProperty(value = "发现部门Id")
    private String findDeptId;

    @ApiModelProperty(value = "缺陷来源ID")
    private String defectOriginId;

    @ApiModelProperty(value = "缺陷等级ID")
    private String defectLevelId;

    @ApiModelProperty(value = "缺陷分类ID")
    private String defectCategoryId;

    @ApiModelProperty(value = "缺陷部位ID")
    private String defectPositionId;

    @ApiModelProperty(value = "缺陷成因ID")
    private String defectReasonId;

    @ApiModelProperty(value = "处理工区")
    private String handleWorkareaId;


    @ApiModelProperty(value = "整改责任工区")
    private String solveWorkareaId;

    @ApiModelProperty(value = "处理人")
    private String handleBy;

    @ApiModelProperty(value = "销号情况（N：未销号；Y：已销号）")
    private String status;

    @ApiModelProperty(value = "支柱号")
    private String pillarNum;


    @ApiModelProperty(value = "隧道编码")
    private String tunnelId;

    @ApiModelProperty(value = "隧道编码")
    private String trackId;

    @ApiModelProperty(value = "行别编码")
    private String directionId;

    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("发现开始时间")
    private Date findStartDate;

    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("发现结束时间")
    private Date findEndDate;

    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("处理开始时间")
    private Date handleStartDate;

    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("处理结束时间")
    private Date handleEndDate;

    @ApiModelProperty(value = "开始月")
    private String startMonth;

    @ApiModelProperty(value = "结束月")
    private String endMonth;


    @ApiModelProperty(value = "查询部门")
    private String deptCode;

    @ApiModelProperty(value = "车间Code")
    private String workShopCode;

    @ApiModelProperty(value = "查询部门Id编码")
    private List<String> deptIdList;

    @ApiModelProperty(value = "查询部门Code编码")
    private List<String> deptCodeList;

    @ApiModelProperty(value = "查询开始时间")
    private int startYear;

    @ApiModelProperty(value = "查询结束时间")
    private int endYear;

    @ApiModelProperty("缺陷位置Code")
    private String positionCode;

    @ApiModelProperty("部门名称")
    private String deptName;

    @ApiModelProperty("状态")
    private String statusValue;

    @ApiModelProperty("铁路类型List")
    private List<String> railTypeList;

    @ApiModelProperty("6c类型")
    private String cType;

    @ApiModelProperty(value = "点击具体缺陷信息(总数：total notReformCount：未销号数量 reformCount：已销号数量 overDateCount：未销号，超期数量)")
    private String countMessage;

    @ApiModelProperty(value = "所属部门（段）,前端部门下拉框传递的deptNo")
    private String unitDeptCode;

    @ApiModelProperty("1:一个月，3：三个月，12：一年")
    private String monthNum;

    @ApiModelProperty(value="1缺陷总数，2已销号，3未销号，4一级缺陷总数，5二级A类缺陷总数，6二级B类缺陷总数")
    private String type;


    private String findType;

    @ApiModelProperty("asc:升序，desc:降序")
    private String order;

    @ApiModelProperty("年份")
    private String year;

    @ApiModelProperty(value = "发现日期集合")
    private List<String> findDateList;

    @ApiModelProperty(value = "查询年度列表")
    private List<String> yearList;

    @ApiModelProperty("缺陷信息")
    private String defectInfoDesc;

    @ApiModelProperty(value="defectCategoryIdList")
    private List<String> defectCategoryIdList;

    @ApiModelProperty(value="lineIdList")
    private List<String> lineIdList;

    @ApiModelProperty(value="siteIdList")
    private List<String> siteIdList;

    @ApiModelProperty("开始公里标")
    private String startRoadMark;

    @ApiModelProperty("结束公里标")
    private String endRoadMark;

    @ApiModelProperty("c类型")
    private String cTypeId;

    @ApiModelProperty(value = "修改时间查询条件")
    private Date updateDatetimeQuery;

    @ApiModelProperty(value = "job查询用")
    private String jobQuery;

    @ApiModelProperty(value = "逻辑删除：Y 已删除 N 未删除")
    private String delFlag;

    @ApiModelProperty(value = "同步状态 0：未同步 1：同步失败 2：同步成功")
    private String sysnStatus;

}
